package cn.yunyichina.provider.finance.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import cn.yunyichina.provider.finance.entity.AccountJournalPo;
import cn.yunyichina.provider.finance.entity.UserJournalDtoResponse;
import cn.yunyichina.provider.framework.annotation.MyBatisRepository;
import cn.yunyichina.provider.framework.mvc.dao.BaseDao;

@Repository
@MyBatisRepository
public interface AccountJournalDao extends BaseDao<AccountJournalPo> {

	/**
	 * 查询指定用户的流水收入
	 * 
	 * @param userId
	 * @return
	 */
	List<UserJournalDtoResponse> getUserJournalByUserId(@Param("user_id") String userId, @Param("begin_time") String beginTime, @Param("end_time") String endTime);


	/**
	 * 查询指定用户的推荐费流水收入
	 *
	 * @param userId
	 * @return
	 */
	List<UserJournalDtoResponse> getUserRecJournalByUserId(@Param("user_id") String userId, @Param("begin_time") String beginTime, @Param("end_time") String endTime);

	/**
	 * 根据手术单号（押金单号）查询所有流水，包括对应的押金单流水（手术单流水）
	 * 
	 * @param orderNo
	 * @return
	 */
	List<AccountJournalPo> getSurgeryAccountJournal(@Param("order_no") String orderNo);
}
